package top.callname.service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import top.callname.bean.RspInfoBean;
import top.callname.bean.SignBean;
import top.callname.bean.SignPageList;
import top.callname.bean.SignRecordPageList;
import top.callname.bean.StudentPageList;

public interface SignService {

	
	/**
	 * 查询已签到的记录 
	 * @param page
	 * @param signId
	 * @return SignRecordPageList
	 */
	SignRecordPageList getYesSignListBySignId(int page,Integer signId);
	
	/**
	 * 导出表格
	 * @param response
	 * @param signId
	 */
	void exportSignRecord(HttpServletRequest request, HttpServletResponse response,Integer signId);
	
	/**
	 * 查询未签到的用户
	 * @param page
	 * @param signId
	 * @return SignRecordPageList
	 */
	StudentPageList getNoSignListBySignId(int page,Integer signId);
	
	
	/**
	 * 查询
	 * @param signId
	 * @return SignBean
	 */
	SignBean getSignTaskInfo(Integer signId);
	
	/**
	 * 添加任务
	 * @param signBean
	 * @return
	 */
	RspInfoBean addSignTask(SignBean signBean);
	
	/**
	 * 停止签到任务
	 * @param signId
	 * @return RspInfoBean
	 */
	RspInfoBean stopSignTask(Integer signId,Integer pid);
	
	
	/**
	 * @param pid
	 * @return SignBean
	 */
	SignBean getInuseSignByPid(Integer pid);
	
	
	/**
	 * 分页查询
	 * @param page
	 * @param pid
	 * @return SignPageList
	 */
	SignPageList getListPageByPid(int page,Integer pid);
	
	
	/**
	 * 签到
	 * @param openid
	 * @param randNo
	 * @return RspInfoBean
	 */
	RspInfoBean signIng(String openid,String randNo);
	
	/**
	 * 管理员帮签到
	 * @param stuNo
	 * @param signId
	 * @return RspInfoBean
	 */
	RspInfoBean signIngByAdmin(String stuNo,Integer signId);
	
	/**
	 * 移除签到
	 * @param rid
	 * @return RspInfoBean
	 */
	RspInfoBean removeSignRecord(Integer rid);
	
}
